package leetCode.hw.dp;

/**
 *  * 背包问题：
 *  *
 *  * 问题描述：有一个背包可以装物品的总重量为W，现有N个物品，每个物品重w[i]，价值v[i]，用背包装物品，能装的最大价值是多少？
 *  *
 *  * 背包问题解题方法：
 *  * 定义状态转移方程dp[i][j], 表示前i个物品，背包重量为j的情况下能装的最大价值
 *  * 例如： dp[3][4] = 6表示用前3个物品装入重量为4的背包所能获得的最大价值为6，
 *  * 这时并不是三个物品全部装入,而是三个物品满足装入背包的条件下的最大价值
 *  *
 *  * 状态转移方程为：
 *  * dp[i][j] = max(dp[i-1][j],dp[i-1][j-w[i]]+v[i])
 *  *
 *  * dp[i-1][j]表示当前物品不放入背包
 *  * dp[i-1][j-w[i]]+v[i] 表示当前物品放入背包
 *  * 即当前第i个物品要么放入背包，要么不放入背包
 */
public interface HJ16_1 {

    int getMaxPrice(int[] height,int[] price,int maxHeight);

}
